██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Procfs
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Nei mwcasistemi operativi mwcqUnix-like mwcgprocfs (abbreviazione per mwcwprocess mwdafile system) è uno pseudo-filesystem usato per accedere alle informazioni relative ai processi fornite dal mwdqkernel. Il filesystem si trova solitamente montato nella mwdgdirectory mwdw/proc; poiché non è un filesystem reale, esso non occupa spazio sul mweadisco rigido ed una limitata quantità di mweqmemoria.
Contents
• Storia
• Linux
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Storia
La versione di procfs inclusa nell'ottava edizione di Unix venne implementata da Tom J. Killian, il quale presentò un documento intitolato mwgqProcesses as Files allo mwggUSENIX nel giugno mwgw1984. Esso venne realizzato per sostituire la mwhachiamata di sistema mwhqptrace usata tradizionalmente per tracciare i processi.
Roger Faulkner e Ron Gomes portarono suddetto codice nella quarta edizione del sistema mwiqSystem V e pubblicarono il documento mwigThe Process File System and Process Model in UNIX System V su USENIX nel gennaio mwiw1991. Questa incarnazione di procfs supportò la nascita di ps, ma i file dovevano comunque essere manipolati con le funzioni di mwjqread(), mwjgwrite() e mwjwioctl().
In mwkgPlan 9 venne implementato un filesystem per i processi che superò il sistema adottato in Unix: mentre in quest'ultimo le operazioni rivolte ad un processo dovevano essere applicate al singolo file che lo rappresentava, in Plan 9 ogni tipo di operazione aveva un file a sé dedicato, facendo divenire /proc una vera e propria parte del filesystem.
La versione 4.4 di BSD implementava mwla/proc come un insieme di sottodirectory per ogni processo, permettendo di accedere alle informazioni relative all'utilizzo di memoria, ai mwlqregistri usati e allo stato corrente. Anche l'implementazione in Solaris 2.6 aveva directory separate per ogni processo, e includeva uno speciale file mwlgctl che permetteva di controllare, tracciare e manipolare i processi.
Linux
In Linux, mwmq/proc contiene le informazioni relative ad ogni processo nella cartella mwmg/proc/mwmwPID, ed include inoltre:
• Un mwnglink al processo corrente in mwnw/proc/self
• Informazioni sull'mwoqhardware, sul kernel e sui moduli ad esso linkati
• L'accesso ai parametri modificabili dinamicamente nel kernel, in mwpa/proc/sys
• Informazioni generiche sul sistema; ad esempio, mwpg/proc/meminfo include le statistiche sull'utilizzo della memoria
Il procfs gioca un importante ruolo nello scambio di informazioni tra il mwqakernel mode e lo mwqquser mode. Ad esempio, la versione mwqgGNU del comando ps opera interamente in user mode, sfruttando procfs per ottenere le informazioni.
Nella versione 2.6 del kernel Linux buona parte dei file non relativi ai processi sono stati separati in un altro pseudo-filesystem chiamato SYSFS (e montato in mwrq/sys).